package com.zkthink.ceres.finance.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zkthink.base.R;
import com.zkthink.base.request.PageParams;
import com.zkthink.base.service.SuperService;
import com.zkthink.ceres.finance.dto.*;
import com.zkthink.ceres.finance.entity.JournalDetail;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 流水明细表
 * </p>
 *
 * @author vivi.huang
 * @date 2020-05-25
 */
public interface JournalDetailService extends SuperService<JournalDetail> {

    /**
     * 汇总 分页
     * @return
     */
    R<IPage<JournalSummaryDTO>> findJournalSummaryPage(PageParams<JournalSummaryPageDTO> params);

    /***
     * 流水明细分页
     * @param params
     * @return
     */
    R<IPage<JournalDetail>> findJournalDetailPage(PageParams<JournalDetailPageDTO> params);

    /**
     * 添加流水
     * @param journalDetailSaveDTO
     * @return
     */
    R<Boolean> saveJournalDetail(JournalDetailSaveDTO journalDetailSaveDTO);

    /**
     * 获取帐目汇总金额
     * @return
     */
    R<AccountSummaryDTO> getAccountSummary();

    /**
     *
     * @param params
     * @return
     */
    R<IPage<PlatformFinanceDTO>> getPlatformFinanceDTOPage(PageParams<PlatformFinanceDTO> params);

    /**
     * 平台财务管理总统计
     * @return
     */
    R<PlatformFinanceDTO> getPlatformFinanceSummary();
}
